package com.wang.luntan.users.service;

import com.alibaba.fastjson.JSONObject;
import com.wang.luntan.common.pojo.ApiResponse;
import com.wang.luntan.common.util.PageInfoUtil;
import com.wang.luntan.users.pojo.AtAdmins;
import com.wang.luntan.users.pojo.AtUsers;

import java.util.Map;

/**
 * 不需要登陆的Service操作,
 * 把Controller复杂的一些操作放到Service层;
 * 因为接口层和网页层要共用
 *
 * @author wangsh
 */
public interface IUsersOperService {
    /**
     * 退出
     *
     * @param paramsMap 上行参数,包含用户名,密码,验证码
     * @return ApiResponse
     */
    ApiResponse<Object> logout(Map<String, Object> paramsMap);


    /**
     * 打开用户更新页面
     *
     * @param paramsMap
     * @return
     */
    ApiResponse<AtUsers> usersUpdate(Map<String, Object> paramsMap);

    /**
     * 用户更新提交页面
     *
     * @param paramsMap
     * @return
     */
    ApiResponse<Object> operUsersUpdateSubmit(Map<String, Object> paramsMap);

    /**
     * service拼装数据,session取值
     *
     * @param condJSON
     * @return
     */
    JSONObject loginAdminsService(JSONObject condJSON);

    /**
     * 验证用户是否有权限访问当前页面;
     *
     * @param paramsMap key:adminsId(管理员id),key:currentUrl:(当前访问的url,是项目名后面的url内容);
     * @return 是否有权限访问;
     */
    ApiResponse<Object> verifyAdminsAuthSerivce(Map<String, Object> paramsMap);

    ApiResponse<Object> getRoleMenuSerivce(Map<String, Object> paramsMap);


    /**
     * 新添加查询多条用户
     *
     * @param condMap
     * @return
     */
    ApiResponse<AtUsers> findCondListusersService(PageInfoUtil pageInfoUtil, Map<String, Object> condMap);

    /**
     * 新添加查询一条用户
     *
     * @param condMap
     * @return
     */
    ApiResponse<AtUsers> findOneAtUsersService(Map<String, Object> condMap);
}
